home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Floppyshop 2
/
Floppyshop - 2.zip
/
Floppyshop - 2.iso
/
art&graf.ix
/
art-5625
/
escpemu
/
emudiskc.txt
< prev
next >
Wrap
Text File
|
1998-10-23
|
16KB
|
322 lines
*******************************************************************
GEMVIEW Lademodul 'ESC/P Emulator'
von Christian 'Chrisker' Krüger
*******************************************************************
Übersicht:
----------
1. Allgemeines 'Bla Bla' und Status (unbedingt lesen !!!
Was ist Featureware ?)
2. Wozu ein 'ESC/P Emulator' ?
3. Bedienung und unterstützte Kommandos
4. History
5. Featureware Wunschliste und Kontaktadresse
-------------------------------------------------------------------
1. Allgemeines 'Bla Bla' und Status
-----------------------------------
(sorry für evt. Tippfähler - es ist gerade 3.45 Uhr in der Früh und ich
hab keine Lust irgendetwas zu korrigieren. (Nur ein schneller Hack -
darum nachfolgend auch alles klein geschrieben - ich habe wichtigeres
zu tun als die 'shift'-taste zu betätigen... (sorry - no time).
wer lust hat sich diesem text 'anzunehmen', (korrektur, formatierung,
übersetzung etc.) möge das bitte tun und mir ein exemplar zukommen/
absegnen lassen)
--BLA BLA:
Das programm wurde mit großer sorgfalt entwickelt. für vorhandene fehler
im programm oder defekte geräte die durch verwendung dieses programms
entstehen übernehme ich aber keine haftung !
wer also seine 'Medusa' mit 20"-monitor und angeschlossendem 1200DPI
farblaser in die luft jagt ist selber schuld (wäre auch zu bezeifeln,
ob das mit dem modul überhaupt möglich ist... ;-) ).
--STATUS (wer noch nicht 'featureware' kennt bitte lesen !!!):
Dieses lade-modul hat 'featureware' status. Nun, was ist 'feature-
ware' ?
Grundlegend ist zu sagen das dieses modul FREEWARE ist !
Das heißt es kann (und soll) kostenlos weitergegeben und verbreitet
werden (aber nicht über PD-versender oder ähnliches - ich möchte
dieses modul nicht ohne meine genehmigung auf irgendeiner PD-liste
oder CD-ROM wiederentdecken !).
Um den status dieses moduls aber noch etwas 'interessanter' zu machen,
habe ich mir ein neues system einfallen lassen (eben featureware).
Dieses lademodul genügt voll und ganz _meinen_ ansprüchen. Das heißt
aber nicht, daß die erwartungen oder ansprüche anderer benutzer mit
diesem modul befriedigt werden. Ich könnte jetzt einfach schreiben das
dies hier 'nervt mich überhaupt nicht'-ware ist (grüße an Mr. McLoud ;-) ),
habe mir aber ein anderes konzept einfallen lassen (ja - ganz neu) welches
dem programmierer (also mir) und dem rest der menschheit zu gute kommt
(könnte auch user-fairware heißen... ).
Aaaaallllsooo:
am ende dieser 'dokumentation' befindet sich eine liste von möglichen
programmerweiterungen die noch nicht vorgenommen wurden. diese kann ich
aber gerne gegen entgeld vornehmen(folglich: nervt mich nur gegen
bares-ware). dabei handelt es sich förmlich um eine preisliste: welches
feature kostet wieviel geld ? wurde ein feature durch bezahlung im modul
integriert, wird das modul wieder der öffentlichkeit zugänglich gemacht !
(man zahlt also eigentlich nicht nur für sich sondern auch für andere...).
die vorteile liegen auf der hand:
der programmierer arbeitet nicht ganz umsonst und es entsteht ein
komplexeres programm welches wieder von allen genutzt werden kann.
damit kommt ein bezahler in eine aehnliche 'wohltaeter' position wie
der freeware-programmierer. dieser leistet ja auch 'selbstlos' anderen
dienste...
damit noch ein kleiner anreiz für diese 'wohltäter' da ist (abgesehen davon
das die das bezahlte, ins programm integrierte feature dann auf diskette
zugeschickt bekommen), befindet sich dann in der programmbeschreibung
das kapitel: 'Mäzene und edele Spender', in dem sie namentlich (mit der
funktion die sie 'gespendet' haben) erwähnt werden (wer nicht erwähnt
werden will - auch kein problem...).
noch eine anmerkung: gehen 'zeitgleich' bis zu drei zahlungen für das
gleiche feature bei mir ein, werden alle spender erwähnt und ich kann mich
über das zusätzliche geld freuen :-) (das muß man mir schon gönnen...).
sind es noch mehr, wird das 'überstehende' geld für ein anderes feature
(auswahl treffe ich) verwendet.
schaden tut das den bezahlern nicht - sie erhalten die funktion für
die sie bezahlt haben auf jeden fall... (und tun noch ein gutes werk)
natürlich kann man auch im freundeskreis rumgehen und sich als gruppe
ein feature bestellen - geteilte last ist halbe last... (gibt aber
trotzdem nur _eine_ diskette zurück und man sollte sich einen namen
für die gruppe ausdenken mit der sie in der liste erscheint).
wer mir geld zukommen lassen will ohne sich ein feature zu wünschen -
ok - habe auch da nix gegen.
Ergibt sich ein änderung im programm (bestellte fähigkeiten sind hin-
zugekommen) wird das programm jeden monat 'refreshed' und verbreitet.
soviel zum feature-ware konzept - die 'preisliste' folgt am ende des
textes.
2. Wozu ein 'ESC/P Emulator' ?
------------------------------
Zunächst mal was ESC/P überhaupt ist:
soweit ich weiß ist ESC/P ein standart der von EPSON™ ausging. es sind
kommandos zu ansteuerung von (9)-nadeldruckern. diese werden von den
sogenannten 'epson-kompatibelen' nadeldruckern verstanden.
Wozu nun ein lademodul welches diese kommandos interpretiert ???
9-nadeldrucker sind heutzutage nicht mehr ganz zeitgemäß - sie sind
laut, langsam und liefern oft eine unbefriedigende druckqualität.
oft steht man aber vor dem problem (so wie ich ;-) ), daß man programme
hat, die etwas älter sind und z.B. nur das ansteuern von diesen druckern
vorsehen. normalerweise könnte man diese mit einem moderneren drucker nicht
verwenden und müßte auf das programm verzichten. wenn man aber in der lage
ist, die druckerausgabe in eine datei zu lenken ist man schon (zusammen
mit dem ESC/P Emulator) auf der 'gewinnerseite'. (wird die druckumlenkung
in eine datei nicht direkt von programm unterstützt, besteht immernoch
die möglichkeit dieses mit einem der zahlreichen 'utility-programme'
(wie z.B. SPOOL) zu erreichen.)
die vorhandene druckdatei wird von dem ESC/P Emulator ausgewertet und es
wird ein Bild erzeugt welches der Druckerausgabe entspricht. Dieses
kann nun beliebig weiterverarbeitet werden. Z.B. kann man das Bild mit
Gemview direkt auf seinem laser-, tintenstrahl-, thermodrucker ausgeben.
Oder man modifiziert die ausgabe mit grafikprogrammen oder bindet das
'bild' in ein anderes dokument einer textverarbeitung ein etc.......
konkret wurde dieses modul für das zusammenspiel mit dem '800XL-DJ'
entwickelt. dieses progamm ermöglicht einem es, auf den 16/32 bit atari's
die laufwerke und drucker der 8-bit rechner zu simmulieren. so kann z.B.
auch hier die druckausgabe des 800XL in eine datei auf dem ST/TT/Falcon
etc. umgelenkt werden.
diese kann man nun mit gemview und dem ESC/P Emulator laden.
daher auch die emulation von 'ESC/P'. Diese druckeransteuerung ist in
99% der XL-programme zu finden. modernere drucker werden so gut wie
gar nicht unterstützt (wenn man viel glück hat: 24-nadler...).
mit hilfe des emulators kann man nun z.B. Print-Shop in zusammenhang mit
seinem tintenstahler weiterverwenden !!!
eine weitere (wenn wenn auch wahrscheinlich seltenere anwendung) des
emulators ist, wenn man (als besonderen effekt) die qualität (dieses
schwache, grob gepunktete, graue aussehen) eines 9-nadlers braucht
(ja denn fall hatte ich wirklich mal neulich...). einfach den text
mit dem emulator laden... (ja - der emulator 'druckt' auch draft buch-
staben die ziemlich gut auf lasern etc. 'rüberkommen'). ich habe so einen
ausdruck (vom tintenstrahler) jemanden mal gezeigt und der wollte
mit nicht glauben, das das ding nicht mit einem nadeldrucker gedruckt
worden war...
3. Bedienung und unterstützte Kommandos
---------------------------------------
Zur bedienung läßt sich eigentlich nicht viel sagen - da es sich ja um
ein Gemview-modul handelt. Wichtig ist nur, daß ESC/P files nicht !!!
identifiziert werden können. daher hat AUTO-flag des moduls ausge-
schaltet zu bleiben ! man kann also ESC/P files nur laden, wenn man
dieses über die funktion 'Load Type...' macht.
Dann legt der emulator los.
Grundlage ist dabei immer das eröffnen einer kompletten seite der
ausmaße 8x12 zoll. Dieses format ist praktikabel, da es die breite und
etwas mehr als die höhe einer DIN A4 seite hat. viele amerikanische
programme (wir erinnern uns: atari XL druckprogramme...) brauchen aber
12" papier. Daher diese größe.
Da 9-nadler normalerweise eine max. druckdichte von 240x216 DPI haben,
wird für diese seite ca. 660kB benötigt ! Für benutzer von 512k ST's kommt
das modul folglich nicht in frage. Ob der speicher bei 1MB besitzern
reicht, wage ich mal zu bezeifeln... (Gemview haut ja auch ganz schön
was weg...)
Nun haben die pixel des bildschirms 'leider' kein seitenverhältnis von
1.111111111111111..... Der emulator umgeht das problem in dem er dieses
ignoriert und einfach das verhältnis 1 benutzt. Folglich sind die
darstellungen etwas verzerrt. Wer das nicht haben will, kann nach der
interpretation des files ja aber die grafik mit 100% x und 111% y
skalieren (Gemview macht's möglich). Wer anschließend seinen 600 DPI
drucker anschmeißt und das ding im gleichen verhältnis wie auf dem
nadler ausgeben will, kommt um die skalierung sowieso nicht drumrum
(wir rechnen: bild hat 240x216 DPI - drucker hat 600 -> skalierung mit
250 und 278% - fragt sich nur ob der speicher dafür reicht...).
Jeder gesetzte punkt im bild entspricht dem abdruck einer drucker-
nadel. Ich schreibe das hier nochmal explizit, da ich sonst befürchte
meldungen von fehlern zu bekommen, die keine sind !
Viele programme oder auch die draft-zeichen des druckers nutzen
_nicht_ die 240x216 DPI aus. So haben z.B. draftzeichen normalerweise
einen vertikalen punktabstand von 72 DPI. Auf dem bild sieht das
folglich so aus, daß nur jede dritte zeile einen punkt von einem zeichen
aufnimmt. Dies ist kein fehler des emulators ! 9-nadler haben nun mal
so einen großen punktabstand. Ein spezielles Gemview-bearbeitungsmodul
zum anpassen der punkte an die reale auflösung kann aber als feature
'geordert' werden. nötig kann dieses zum teil werden da die 240x216
DPI im regelfall nicht von 9-nadlern real erreicht werden. die
druckerpunkte 'matschen' leicht zusammen und überlagern sich
teilweise. Dieses verhalten kann selbstverständlich nicht ohne
weiteres nachgebildet werden. das ist der grund, warum bilder, die mit
dem esc/p emulator erzeugt wurden, auf anderen druckern ausgedruckt,
meist etwas blasser erscheinen als ein realer 9-nadeldruck (so als
hätte man ein etwas 'ausgelutschtes' farbband).
Soweit die 'druck auf image' theorie. Nun was praktisches:
Unterstützte kommandos des ESC/P Emulators V. 1.00:
====================================================
Grafikdruck in allen arten !
Dabei wird (aus techn. gründen) der (selten benutzte) modus mit 576 und
720 punkten pro zeile nicht korrekt verarbeitet.
sämtlich zeilenvor- und rückschub-kommandos bis auf kommandos die mit
- vertikalen tabulatoren oder
- absoluten positionen (z.B. auch blattanfang etc.) arbeiten.
rechte und linke randbegrenzung
unterstüzung der draft-schriftarten
PICA (80 zeichen pro zeile) und
ELITE (96 zeichen pro zeile).
im modul sind sie in der deutschen belegung enthalten !
(also statt [\]{|}~ => AÖÜaöüß !)
es wird der zeichensatzraum von 32 bis 127 unterstützt.
eine sonderstellung nimmt ASCII 155 ein. dieses wird nicht
als zeichen interpretiert (ist aber auch nicht weiter tragisch -
wer braucht schon das '¢'-zeichen), sondern äquivalent zu LF/CR be-
handelt, da dieses zeichen auf den atari XL's 'end of line' (EOL)
bedeutet.
wichtig ist nur noch, daß ein LF (zeilenvorschub) ausreicht um einen
zeilenvorschub _und_ wagenrücklauf zu erhalten - enthält der text
trotzdem noch einen wagenrücklauf (CR/LF), so wird die funktion nicht
negativ beeinträchtigt.
verarbeitung von schmalschrift (condensed) und
breitschrift (enlarged)
untersteichungen
alle kommandos können natürlich sinnvoll kombiniert werden !
(wer es nicht weiß: dazu gehört auch breit-schmal-schrift !)
die funktionscodes sind so wie im druckerhandbuch des 'star™ LC-10'
beschrieben umgesetzt.
wurde die interpretation der druckdaten beendet (dateiende oder seite
voll), so wird die anzahl der nicht ausgewerteten bytes der datei bis
zum erreichen des seitenendes angezeigt. wem dieser wert zu hoch ist
-> feature bestellen...
---------------------------------------------------------------------------
######### 4. HISTORY ########
1.00 - Erste veröffentliche version - mal sehen was für funktionen
noch gewünscht werden...
---------------------------------------------------------------------------
5. Featureware Wunschliste und Kontaktadresse
---------------------------------------------
Erklärung: * = 10 DM => *** = 30 DM
Funktion: | Preis:
=======================================================================
Superscript & Subsript | ***
-------------------------------------------------------------+---------
Fettdruck & Schattendruck | **
-------------------------------------------------------------+---------
Zeichensatzänderung (angepasstes Modul) für USA & GB | **
-------------------------------------------------------------+---------
" " " für FR & ITAL | **
-------------------------------------------------------------+---------
" " " für ESP 1 & 2 | **
-------------------------------------------------------------+---------
" " " für DEN 1 & 2 | **
-------------------------------------------------------------+---------
Horizontal Tabulatoren und horizontale absolut Positionierung| **
-------------------------------------------------------------+---------
Download von Draftzeichensätzen | *****
-------------------------------------------------------------+---------
Mehrseitenverwaltung, vertikale Tabulatoren etc. | *******
-------------------------------------------------------------+---------
Kursivdruck | ****
-------------------------------------------------------------+---------
korrekte Unterstütz. von 576 und 720 Grafikpunkten pro Zeile | **
-------------------------------------------------------------+---------
Überstreichen | **
-------------------------------------------------------------+---------
Bearbeitungsmodul: Punktverdickung und Interpolation | ***
-------------------------------------------------------------+---------
wer weitere/nicht in der liste vorkommende features umgesetzt haben
will (vorausgesetzt sie haben was mit dem modul und seiner aufgabe zu
tun), kein problem - ich öffne horizonte ;-) - reden sie darüber...
garantiert umsetzen werde ich _nicht_ NLQ-zeichensätze oder farbdruck
(es sei denn jemand gibt mir jeweils dafür:
****************************************************************************
viel spass beim zählen...)
scheine oder schecks mit den feature-wünschen gehen an:
Christian Krüger
Im Erpelgrund 16
13503 Berlin
sonst (bei fragen, bug-reports o.ä.) am besten übers internet kontaktieren:
chrisker@cs.tu-berlin.de
viel freude beim pseudo drucken !